rfc: document or-slots and xor-slots in jobspec specifications - #534
rfc: document or-slots and xor-slots in jobspec specifications#534zekemorton wants to merge 2 commits into
Conversation
|
|
|
@milroy do you mind giving this a first pass when you get a chance? |
milroy
left a comment
There was a problem hiding this comment.
Looks good so far! Please add a bit more description where I indicated. After that this is good to merge as far as I'm concerned!
| A resource type of ``type: xor_slot`` SHALL indicate an exclusive alternative | ||
| resource grouping that is expanded into distinct jobspec branches before |
There was a problem hiding this comment.
I think you want to disambiguate the "exclusive" adjective here as we'll soon support non-exclusive resources in a slot. This statement should make it clear that exactly one of the XOR slots will be allocated or reserved.
| internally, and the flexible traverser tries the expanded branches sequentially | ||
| until a match is found (first-match strategy). |
There was a problem hiding this comment.
You may want to emphasize that the XOR slot order effectively encodes preference.
| Nested ``xor_slot`` resources are supported. When processing nested xor-slots, | ||
| the expansion produces all combinations of the xor branches, and each | ||
| combination is tried as a separate candidate jobspec. |
There was a problem hiding this comment.
Please add a phrase mentioning the need to limit the number of candidates, and the configuration option that sets the limit.
Add comprehensive documentation for or-slots and xor-slots to RFC 14 (Canonical Job Specification): - Extend the slot resource type definition to explain or-slot behavior when multiple sibling slot resources appear at the same level - Add new xor_slot reserved resource type with full specification - Add comparison table contrasting or-slots vs xor-slots - Add Section 3 with three use cases demonstrating: - Use Case 3.1: Or-slots for same-level alternatives - Use Case 3.2: Xor-slots for different hierarchy prefixes - Use Case 3.3: Nested xor-slots - Update JSON schema to include xor_slot as a valid resource vertex type Or-slots allow sibling slot resources to be evaluated as alternatives during traversal using dynamic programming. Xor-slots expand into distinct jobspec branches before traversal and use first-match selection. Both features require the flexible traverser implementation. Assisted-by: Claude <noreply@anthropic.com>
Add a note to RFC 25 (Job Specification Version 1) clarifying that V1 jobspec does not support alternative slot configurations including or-slots (sibling slot resources) and xor_slot resource types. These advanced features require the flexible traverser and are only available in the canonical jobspec format (RFC 14). This clarification helps users understand the limitations of V1 jobspec and directs them to RFC 14 when they need alternative slot functionality. Assisted-by: Claude <noreply@anthropic.com>
|
|
Add documentation for or-slots and xor-slots to RFC 14 and RFC 25.
RFC 14 (Canonical Jobspec)
slotdefinition to describe or-slot behavior (sibling slots as alternatives)xor_slotreserved resource type specificationxor_slottypeRFC 25 (Jobspec V1)
Or-slots use dynamic programming for optimal slot selection during traversal.
Xor-slots expand into distinct candidate jobspecs before traversal with first-match selection.
Both require the flexible traverser implementation.